/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package newpeer;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileFilter;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;

/**
 *
 * @author Manuel
 */
public class DialogoConfiguracionPeer extends JDialog {

    private Peer padre;

    public DialogoConfiguracionPeer(Peer aThis) {
        super(aThis, true);
        this.setTitle("Configuración Peer");
        this.setSize(new Dimension(400, 170));
        this.setLocationRelativeTo(null);
        this.padre = aThis;
        this.setLayout(new BorderLayout());
        JPanel panelUploadsGlobales  = new JPanel(new FlowLayout(FlowLayout.LEFT));
        TitledBorder bordeUploadsGlobales=new TitledBorder("Configuración Uploads Globales");
        bordeUploadsGlobales.setTitleColor(Color.BLUE);
        panelUploadsGlobales.setBorder(bordeUploadsGlobales);
        JLabel labUploadsGlobales=new JLabel("Uploads Globales");
        labUploadsGlobales.setToolTipText("Esta opción permite configurar el número de archivos que se pueden subir a otros Peer.");
        panelUploadsGlobales.add(labUploadsGlobales);
        String[] valsUploads={"0","1","2","3","4","5","6","7","8","9","10"};
        final JComboBox comboUploads=new JComboBox(valsUploads);
        comboUploads.setSelectedIndex(Integer.parseInt(padre.UPLOADS_GLOBALES));
        panelUploadsGlobales.add(comboUploads);
        JButton botonCambiarUploadsGlobales=new JButton("Cambiar");
        botonCambiarUploadsGlobales.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String val=(String)comboUploads.getSelectedItem();
                padre.UPLOADS_GLOBALES=val;
                //JOptionPane.showMessageDialog(null, padre.UPLOADS_GLOBALES);
            }
        });
        panelUploadsGlobales.add(botonCambiarUploadsGlobales);

        JPanel panelArchivos = new JPanel(new FlowLayout(FlowLayout.LEFT));
        final JLabel labValArchivos = new JLabel(padre.RUTA_ARCHIVOS_COMPARTIDOS_DESCARGADOS);
        labValArchivos.setFont(new Font("Arial", Font.BOLD, 14));
        panelArchivos.add(new JLabel("Ruta actual de Archivos Compartidos/Descargados"));
        panelArchivos.add(labValArchivos);
        TitledBorder bordeConfigArchivos=new TitledBorder("Configuración de Archivos (Compartir/Descargar)");
        bordeConfigArchivos.setTitleColor(Color.BLUE);
        panelArchivos.setBorder(bordeConfigArchivos);
        JButton botonCambiarRuta = new JButton("Cambiar Ruta...");
        botonCambiarRuta.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                JFileChooser chooserRutaArchivos = new JFileChooser();
                chooserRutaArchivos.setDialogTitle("Seleccione la nueva carpeta");
                chooserRutaArchivos.setDialogType(JFileChooser.OPEN_DIALOG);
                chooserRutaArchivos.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
                chooserRutaArchivos.setAcceptAllFileFilterUsed(false);
                int resultado = chooserRutaArchivos.showOpenDialog(null);
                if (resultado == JFileChooser.APPROVE_OPTION) {
                    padre.RUTA_ARCHIVOS_COMPARTIDOS_DESCARGADOS=chooserRutaArchivos.getSelectedFile().getAbsolutePath();
                    
                    labValArchivos.setText(padre.RUTA_ARCHIVOS_COMPARTIDOS_DESCARGADOS);
                }
            }
        });
        panelArchivos.add(botonCambiarRuta);
        add(panelUploadsGlobales,BorderLayout.NORTH);
        add(panelArchivos,BorderLayout.CENTER);
    }
}
